Fixed decision delay detectors for timing recovery loop

ABSTRACT

A data detectors have been invented featuring a fixed decision delays. The detector is comprised of a preliminary detector working on a single sample and releasing a few probably decisions and a signal, pace detector making a final selection among these probable decisions. The final decision is made based on a finite number of observation samples. The signal space detector consists of filter bank, slicers, and a Boolean logic (circuit?).

FIELD OF THE INVENTION

[0001] The present invention relates to disk drives. More particularly, the present invention relates to a data detector wherein the data detector detects data encoded according to a code having time varying constraints.

BACKGROUND OF THE INVENTION

[0002] A typical disk drive includes one or more disks mounted for rotation on a hub or spindle. A typical disk drive also includes a transducer supported by a hydrodynamic air bearing which flies above each disk. The transducer and the hydrodynamic air bearing are collectively referred to as a data head. A drive controller is conventionally used for controlling the disk drive based on commands received from a host system. The drive controller controls the disk drive to retrieve information from the disks and to store information on the disks.

[0003] In one conventional disk drive, an electromechanical actuator operates within a negative feedback, closed-loop servo system. The actuator moves the data head radially over the disk surface for track seek operations and holds the transducer directly over a track on the disk surface for track following operations.

[0004] Information is typically stored in concentric tracks on the surface of the disks by providing a write signal to the data head to write information on the surface of the disk representing the data to be stored. In retrieving data from the disk, the drive controller controls the electromechanical actuator so that the data head flies above the disk and generates a read signal based on information stored on the disk. The read signal is typically conditioned and then decoded by the drive controller to recover the data.

[0005] A typical read channel includes the data head, preconditioning logic (such as preamplification circuitry and filtering circuitry), a data detector and recovery circuit, and error detection and correction circuitry. The read channel is typically implemented in a drive controller associated with the disk drive.

[0006] In disk drives, it is important that the error rate per number of bits recorded (the bit error rate [BER]) be maintained at a relatively low level. In order to improve the bit error rate performance in disk drives, or in order to increase the linear recording density in disk drives, maximum likelihood sequence detection (MLSD) methods are desired. Such methods can be implemented using the well-known Viterbi algorithm. However, a direct implementation of an MLSD method is very costly. For example, the channel response after forward filtering is typically quite long and may contain ten or more terms. Thus, a Viterbi detector would require 2¹⁰⁻¹ states, which is impracticably complex. Therefore, other techniques have been investigated which tend to reduce complexity yet still provide results which approach those of direct MLSD methods.

[0007] One such technique is to apply the Viterbi algorithm to a reduced number of terms by canceling some of the terms with feedback. For example, by canceling all but two terms (and including the main cursor) allows the Viterbi detector to have only four states. Such detectors are referred to as reduced state sequence estimators (RSSE).

[0008] Another technique is to choose a channel response which is not a perfectly whitened target, but which has a fewer number of terms. In such systems, partial response (PR) targets have been developed. Among those targets is one referred to as enhanced extended partial response maximum likelihood (E²PRML) target. At high recording densities, it has been observed that for certain high order partial response channels (such as the E²PRML) channel, the dominant error events (the difference between two input sequences) encountered with detectors used with such partial response targets are generally of the form ±(2,-2,2). Such errors are typically caused when a tribit is shifted by one sample time or when a quadbit is mistaken as a dibit or vise versa.

[0009] A relatively new class of codes is recently being investigated. Such codes include a maximum transition run (MTR) code which has been proposed as a way of removing dominant error events from the input bit stream to the data detector. MTR codes act to increase the minimum Euclidean distance between data samples in a magnetic recording channel.

[0010] For example, an MTR=2 code limits the run of consecutive transitions in the modified waveform to two. In essence, an MTR=2 code removes all patterns of encoded data containing more than two consecutive transitions. Consequently, the MTR=2 code also removes all patterns which cause a dominant error event for MLSD detectors at high recording densities and higher order PR channels.

[0011] Using MTR constraints, one detector has been developed which is referred to as the 3D-110 detector whose performance is comparable to a fixed delay tree search with decision feedback of depth 2(FDTS/DF(2)) at high symbol densities. The detector is constructed by considering vectors of received samples (for example, three samples) in a three-dimensional space. Three planar boundaries are calculated and are used to divide the signal space into two regions, each of which corresponds to a decision of +1 or −1 for the bit currently being processed.

[0012] Thus, decision-directed timing recovery loop is typically adopted for magnetic recording channels in which the excess bandwidth is negligible. As the detector performance improves, a longer decision delay is required, and this long decision delay (sometimes referred to as long latency) limits the tracking capability of the timing recovery loop.

[0013] To enhance the distance between the true and misdetected sequence, many types of MTR codes have been proposed. Using MTR code enhances the minimum distance of an E²PRML channel from 6 to 10 and can prevent all isolated error events longer than 2 bits. However, the maximum coding rate of a practical MTR code has been found to be limited to a rate of 10/11.

[0014] To reduce the noise correlation, several types of noise-whitening methods or ME2PR4 response channels, which have the optimal channel response for minimizing noise correlation, have been proposed. However, the circuit size of ME2PRML is very large compared with E²PRML. A quasi-MTR (QMTR) code has been developed. One is a 16/17 rate QMTR code that does not enlarge the minimum Euclidian distance, but it can restrict the error events to three simple patterns. These three error events are corrected in the post-processor, which detects the error events under an E²PR4 channel response.

[0015] Signal space detectors (SSD) are formulated in a finite dimensional vector space. All possible noiseless signals are denoted as points in a vector space, and a decision boundary separating these noiseless signals into corresponding decision classes is represented by a set of hyperplanes. The detector structure includes a set of linear equations (hyperplanes) of observation samples, slicers, and a Boolean logic. The output of each linear equation is fed through a slicer whose output indicates in which side of the corresponding hyperplane the observation sample sequence is located. The Boolean logic then makes a final decision on an input symbol based on these slicer outputs.

[0016] The natural channel is equalized to an EPR4 target having a response represented by (1−D)(1+D)².

SUMMARY OF THE INVENTION

[0017] The present invention includes two signal space detectors (SSD) for timing loop decisions for achieving less detector latency. To remove the error propagation due to the decision feedback, the SSD of the present invention is formulated by using a finite number of observation samples without utilizing any past decision. With the present invention, two SSDs are described with a decision delay of three and four. The SSD of the present invention does not make a decision based on a channel input symbol. The SSD of the present invention release estimates of ideal equalized samples by assuming the phase error detector requires ideal samples.

BRIEF DESCRIPTION OF THE DRAWINGS

[0018]FIG. 1 illustrates a circuit diagram of the present invention;

[0019]FIG. 2 illustrates the relationship between effective signal-to-noise ratio and user bit density;

[0020]FIG. 3 illustrates the different parameters used for the signal space detector;

[0021]FIG. 4 illustrates the mean of timing function;

[0022]FIG. 5 illustrates the Bit Error Rate;

[0023]FIG. 6 is a side view of a disk drive system;

[0024]FIG. 7 is a top view of a disk drive system; and

[0025]FIGS. 8 and 9 illustrate two implementations of the present invention.

DETAILED DESCRIPTION OF THE PRESENT INVENTION

[0026] The following invention is described with reference to figures in which similar or the same numbers represent the same or similar elements. While the invention is described in terms for achieving the invention's objectives, it can be appreciated by those skilled in the art that variations may be accomplished in view of these teachings without deviation from the spirit or scope of the invention.

[0027]FIGS. 6 and 7 show a side and top view, respectively, of the disk drive system designated by the general reference 1100 within an enclosure 1110. The disk drive system 1100 includes a plurality of stacked magnetic recording disks 1112 mounted to a spindle 1114. The disks 1112 may be conventional particulate or thin film recording disk or, in other embodiments, they may be liquid-bearing disks. The spindle 1114 is attached to a spindle motor 1116 which rotates the spindle 1114 and disks 1112. A chassis 1120 is connected to the enclosure 1110, providing stable mechanical support for the disk drive system. The spindle motor 1116 and the actuator shaft 1130 are attached to the chassis 1120. A hub assembly 1132 rotates about the actuator shaft 1130 and supports a plurality of actuator arms 1134. The stack of actuator arms 1134 is sometimes referred to as a “comb.” A rotary voice coil motor 1140 is attached to chassis 1120 and to a rear portion of the actuator arms 1134.

[0028] A plurality of head suspension assemblies 1150 are attached to the actuator arms 1134. A plurality of inductive transducer heads 1152 are attached respectively to the suspension assemblies 1150, each head 1152 including at least one inductive write element. In addition thereto, each head 1152 may also include an inductive read element or a MR (magneto-resistive) read element. The heads 1152 are positioned proximate to the disks 1112 by the suspension assemblies 1150 so that during operation, the heads are in electromagnetic communication with the disks 1112. The rotary voice coil motor 1140 rotates the actuator arms 1134 about the actuator shaft 1130 in order to move the head suspension assemblies 1150 to the desired radial position on disks 1112.

[0029] A controller unit 1160 provides overall control to the disk drive system 1100, including rotation control of the disks 1112 and position control of the heads 1152. The controller unit 1160 typically includes (not shown) a central processing unit (CPU), a memory unit and other digital circuitry, although it should be apparent that these aspects could also be enabled as hardware logic by one skilled in the computer arts. Controller unit 1160 is connected to the actuator control/drive unit 1166 which is in turn connected to the rotary voice coil motor 1140. A host system 1180, typically a computer system or personal computer (PC), is connected to the controller unit 1160. The host system 1180 may send digital data to the controller unit 1160 to be stored on the disks, or it may request that digital data at a specified location be read from the disks 1112 and sent back to the host system 1180. A read/write channel 1190 is coupled to receive and condition read and write signals generated by the controller unit 1160 and communicate them to an arm electronics (AE) unit shown generally at 1192 through a cut-away portion of the voice coil motor 1140. The read/write channel 1190 employs the timing recovery loop of the present invention. The AE unit 1192 includes a printed circuit board 1193, or a flexible carrier, mounted on the actuator arms 1134 or in close proximity thereto, and an AE module 1194 mounted on the printed circuit board 1193 or carrier that comprises circuitry preferably implemented in an integrated circuit (IC) chip including read drivers, write drivers, and associated control circuitry. The AE module 1194 is coupled via connections in the printed circuit board to the read/write channel 1190 and also to each read head and each write head in the plurality of heads 1152.

[0030] The present invention is described through two signal space detectors for timing loop decisions with improved detector latency. The SSD of the present invention uses a finite number of observation samples without utilizing past decisions. The present invention includes two SSDs with decision delays of 3 and 4, respectively. The SSD of the present invention release estimates of ideal equalized samples by assuming the phase error detector requires ideal samples. The SSD with decision delay of 3 (SSD3) uses 7 observation samples to make a single decision on an ideal sample. These 7 observation samples include 3 look-ahead samples, 3 previous samples, and one current sample.

[0031] In contrast, the SSD with decision delay of 4 (SSD4) uses 9 observation samples, 4 look-ahead samples, 4 past samples, and one current sample. The SSD3 is tuned to white Gaussian noise (detector input noise is assumed to be white Gaussian), whereas SSD4 utilizes the noise correlation to improve detector performance. The noise correlation coefficients are obtained from a Lorentzian channel at user bit density of Du=3.

[0032] Next, the signal space detector with decision delay of 3 (SSD3) is described.

[0033] For a binary input symbol taken from {±1}, the EPR4 channel output has 5 distinct ideal sample values, {±4, ±2, 0}. The SSD3 estimates an ideal sample based on 7 observation samples.

[0034] The present invention uses an ambiguity zone detector as a preliminary detector. This ambiguity zone detector takes advantage of dividing the range of receive data into different ambiguity zones (AZ). Every readback sample falls into one of these regions. Only a few values are then allowed as legitimate output of the PR channel. For n=2, a maximum of only two values are considered as a probable output of the PR channel. Such a restriction is justified based on the fact that for a system with reasonably good signal-to-noise ratio, the probability that a received sampled output falls into an erroneous region where the actual value of the channel output is none of the allowed values is small. There is, however, a non-zero probability that the received sampled output falls into an erroneous zone and correspondingly is an error in the AZ assignment. The AZ assignments therefore translate into a list of permissible future states (PFS). The PFS corresponds to states at which survived paths could arrive. Thus, the SSD3 should only differentiate two ideal samples. Letting r_(k) and d_(k) be an equalized and an ideal sample, respectively, the AZD preliminary detector releases two probable ideal samples based on a single observation sample, which is represented by $\begin{matrix} {{\overset{\sim}{d}}_{k} = \left\{ \begin{matrix} {{4\quad {if}\quad r_{k}} > 4} \\ {{\left( {2,4} \right)\quad {if}\quad 2} < r_{k} \leq 4} \\ {{\left( {0,2} \right)\quad {if}\quad 0} < r_{k} \leq 2} \\ {{{\left( {{- 2},0} \right)\quad {if}}\quad - 2} < r_{k} \leq 0} \\ \left( {{- 4},{{{{- 2}\quad {if}}\quad - 4} < r_{k} \leq {- 2}}} \right. \\ {{{- 4}\quad {otherwise}}\quad} \end{matrix} \right.} & (1) \end{matrix}$

[0035] The sample {tilde over (d)}_(k) is either a single value or two ideal sample values according to the observation sample r_(k). The single-valued {tilde over (d)}_(k), becomes the estimated ideal sample {circumflex over (d)}_(k) of SSD3. For a double-valued {tilde over (d)}_(k) the SSD3 differentiates one value from the other by using neighboring observation samples. Table 1 summarizes the coefficients of linear equations and the corresponding threshold values of slicers required for the cases of {tilde over (d)}_(k) (0,2) and {tilde over (d)}_(k) (2,4). Assuming that r_(k)>0 (the case of r_(k)<0 will be discussed hereinbelow), in the table, each threshold value represents a constant value compared with the output of the corresponding linear equation. Let g_(i)(c_(j)) be the slicer output defined by $\begin{matrix} {{g_{i}\left( c_{j} \right)} = \left\{ \begin{matrix} 1 & {{{{if}\quad g_{i}} + c_{j}} < 0} \\ 0 & {otherwise} \end{matrix} \right.} & (2) \end{matrix}$

[0036] where g_(i) is the output of a linear equation and c_(j) is a threshold value. The slicer output is a binary value, either 0 or 1. When the single linear equation has corresponding multiple threshold values, each threshold value should be compared with the output of the linear equation, and a binary output denoted by g_(i)(c_(j)) should be generated.

[0037] The two Boolean logic functions b02 and b24 correspond to {tilde over (d)}_(k)=(0,2) and {tilde over (d)}_(k)=(2,4), respectively, and are defined as $\begin{matrix} {{b02} = \quad {{g_{2}(2)}\quad }} \\ {\quad {{g_{1}(2)}\quad }} \\ {\quad {\left( {{{g_{3}(0)}\&}\quad {g_{4}(0)}} \right)\quad }} \\ {\quad {\left( {{{g_{1}(0)}\&}\quad {g_{2}(0)}} \right)\quad }} \\ {\quad {\left( {{{{{g_{2}(0)}\&}\quad {g_{3}(2)}}\&}\quad {g_{6}\left( {- 2} \right)}} \right)\quad }} \\ {\quad {\left( {{{{{g_{1}(0)}\&}\quad {g_{4}(2)}}\&}\quad {g_{5}\left( {- 2} \right)}} \right)\quad }} \\ {\quad {\left( {{{{{g_{1}(0)}\&}\quad {g_{2}\left( {- 2} \right)}}\&}\quad {g_{6}\left( {- 2} \right)}} \right)\quad }} \\ {\quad {\left( {{{{{g_{1}(0)}\&}\quad {g_{2}(0)}}\&}\quad {g_{5}\left( {- 2} \right)}} \right)\quad }} \\ {\quad {\left( {{{{{{{g_{2}\left( {- 4} \right)}\&}\quad {g_{3}\left( {- 2} \right)}}\&}\quad {g_{4}(0)}}\&}\quad {g_{6}(0)}} \right)\quad }} \\ {\quad {\left( {{{{{{{g_{1}\left( {- 4} \right)}\&}\quad {g_{2}(0)}}\&}\quad {g_{3}(0)}}\&}\quad {g_{5}(0)}} \right)\quad }} \\ {\quad {\left( {{{{{{{g_{1}\left( {- 4} \right)}\&}\quad {g_{3}(0)}}\&}\quad {g_{4}\left( {- 2} \right)}}\&}\quad {g_{5}(0)}} \right)\quad }} \\ {\quad {\left( {{{{{{{g_{1}(0)}\&}\quad {g_{2}\left( {- 4} \right)}}\&}\quad {g_{4}(0)}}\&}\quad {g_{6}(0)}} \right)\quad }} \\ {\quad {\left( {{{{{{{{{g_{1}(0)}\&}\quad {g_{2}\left( {- 4} \right)}}\&}\quad {g_{4}(0)}}\&}\quad {g_{5}\left( {- 2} \right)}}\&}\quad q_{2}} \right)\quad }} \\ {\quad {\left( {{{{{{{{{g_{1}\left( {- 4} \right)}\&}\quad {g_{2}(0)}}\&}\quad {g_{3}(0)}}\&}\quad q_{3}}\&}\quad {g_{6}\left( {- 2} \right)}} \right)\quad }} \\ {\quad {\left( {{{{{{{{{{{g_{1}\left( {- 2} \right)}\&}\quad {g_{2}\left( {- 2} \right)}}\&}\quad {g_{3}\left( {- 2} \right)}}\&}\quad {g_{4}\left( {- 2} \right)}}\&}\quad {g_{6}\left( {- 2} \right)}}\&}\quad q_{1}} \right)\quad }} \\ {\quad \left( {{{{{{{{{{{g_{1}\left( {- 2} \right)}\&}\quad {g_{2}\left( {- 2} \right)}}\&}\quad {g_{3}\left( {- 2} \right)}}\&}\quad {g_{4}\left( {- 2} \right)}}\&}\quad q_{4}}\&}\quad {q_{5}\left( {- 2} \right)}} \right)\quad} \end{matrix}$ and   $\begin{matrix} {{b24} = \quad {{g_{1}\left( {- 2} \right)}\quad }} \\ {\quad {{g_{2}\left( {- 2} \right)}\quad }} \\ {\quad {{g_{3}(0)}\quad }} \\ {\quad {{g_{4}(0)}\quad }} \\ {\quad {\left( {{{{{g_{1}\left( {- 4} \right)}\&}\quad {g_{4}\left( {- 2} \right)}}\&}\quad q_{5}} \right)\quad }} \\ {\quad {\left( {{{{{g_{2}\left( {- 4} \right)}\&}\quad {g_{3}(0)}}\&}\quad {g_{6}\left( {- 4} \right)}} \right)\quad }} \\ {\quad {\left( {{{{{g_{1}\left( {- 4} \right)}\&}\quad {g_{2}\left( {- 4} \right)}}\&}\quad {g_{5}\left( {- 4} \right)}} \right)\quad }} \\ {\quad {\left( {{{{{g_{1}\left( {- 4} \right)}\&}\quad {g_{4}\left( {- 2} \right)}}\&}\quad {g_{5}\left( {- 4} \right)}} \right)\quad }} \\ {\quad {\left( {{{{{g_{1}\left( {- 4} \right)}\&}\quad {g_{2}\left( {- 4} \right)}}\&}\quad {g_{6}\left( {- 4} \right)}} \right)\quad {\quad}}} \\ {\quad {\left( {{{{{g_{2}\left( {- 4} \right)}\&}\quad {g_{3}\left( {- 2} \right)}}\&}\quad q_{6}} \right),}} \end{matrix}\quad$

[0038] where

q₁=g₅(−2)|(g₇(0)&g₅(−4)),

q₂=g₇(0)|g₅(0),

q₃=g₈(0)|g₆(0)

q₄=g₆(−2)|g₈(0)&g₆(−4)),

q₅=g₅(−4)|g₇(−2)&g₅(−6)),

q₆=g₆(−4)|g₈(−2)&g₆(−6)),

[0039] and ‘&’ and ‘|’ denote logical ‘and’ and ‘or’ operations, respectively. Thus, we can determine {circumflex over (d)}_(k) by the following equation 3. $\begin{matrix} {{\hat{d}}_{k} = \left\{ \begin{matrix} 0 & {{{if}\quad {\overset{\sim}{d}}_{k}} = \left( {0,2} \right)} & {{{and}\quad {b02}} = 1} \\ 2 & {{{if}\quad {\overset{\sim}{d}}_{k}} = \left( {0,2} \right)} & {{{and}\quad {b02}} = 0} \\ 2 & {{{if}\quad {\overset{\sim}{d}}_{k}} = \left( {2,4} \right)} & {{{and}\quad {b24}} = 1} \\ 4 & {{{if}\quad {\overset{\sim}{d}}_{k}} = \left( {2,4} \right)} & {{{and}\quad {b24}} = 0} \end{matrix} \right.} & (3) \end{matrix}$

[0040] Next is illustrated Table 1 which illustrates the coefficients of linear equations and corresponding threshold values for SSD3. TABLE 1 Output of linear coefficients of linear equation threshold equation r_(k−3) r_(k−2) r_(k−1) r_(k) r_(k+1) r_(k+2) r_(k+3) values (c_(j)) G₁ 0 0 0 1 1 0 0 −4, −2, 0, 2 G₂ 0 0 1 1 0 0 0 −4, −2, 0, 2 G₃ 0 0 0 1 −1 0 0 −2, 0, 2 G₄ 0 0 −1 1 0 0 0 −2, 0, 2 G₅ 0 0 0 1 0 −1 0 −6, −4, −2, 0 G₆ 0 −1 0 1 0 0 0 −6, −4, −2, 0 G₇ 0 0 0 1 0 0 1 −2, 0 G₈ 1 0 0 1 0 0 0 −2, 0

[0041] Due to the underlying symmetry of the observation sample sequence, {tilde over (d)}_(k)=(−2,0) and {tilde over (d)}_(k)=(−4, −2) (where r_(k)≦0), cases are easily evaluated by the same detector following the methods when r_(k)>0. Note, all 7 samples are sign-changed, and the final decision {circumflex over (d)}_(k) is also sign-changed. The sign-change of observation samples are represented by equation 4. $\begin{matrix} {{f_{i}\left( c_{j} \right)} = \left\{ \begin{matrix} 1 & {{{if} - g_{i} + c_{j}} < 0} \\ 0 & {otherwise} \end{matrix} \right.} & (4) \end{matrix}$

[0042] where f_(i)(c_(j)) is the slicer output corresponding to the case of r_(k)≦0. To save linear equations, equation 4 can be restated as equation 5. $\begin{matrix} {{f_{i}\left( c_{j} \right)} = \left\{ \begin{matrix} 1 & {{{{if}\quad g_{i}} - c_{j}} \geq 0} \\ 0 & {otherwise} \end{matrix} \right.} & (5) \end{matrix}$

[0043] Equation 5 can be represented by equation 6. $\begin{matrix} {{f_{i}\left( c_{j} \right)} = \left\{ \begin{matrix} 1 & {{{if}\quad {g_{i}\left( {- c_{j}} \right)}} = 0} \\ 0 & {otherwise} \end{matrix} \right.} & (6) \end{matrix}$

[0044] From equation 6, we can see that no additional hardware is required for linear equations. Even though some slicer outputs can directly be obtained from the case of r_(k)>0 simply by a logical inversion, additional slicers are required for f₁(−4), f₂(−4), f₅(−6), f₅(−4), f₅(−2), f₆(−6), f₆(−4), f₆(−2), f₇(−2), and f₈(−2). The Boolean logic function is the same as in the case of r_(k)>0 with the inputs f_(i)(c_(j)) instead of g_(i)(c_(j)).

[0045] Signal Space Detector with Decision Delay of 4

[0046] The signal space detector performance can be improved by utilizing noise correlation. The noise correlation coefficients for SSD4 have been obtained from the Lorentzian channel at the use bit density of 3. Similarly to SSD3, the ambiguity zone detection is used as a preliminary detector. As described previously, the SSD4 uses 9 observation samples including 4 past samples, 4 look-ahead samples, and one current sample. The obtained linear equations and corresponding threshold values for the case of r_(k)>0 are summarized in Table 2. TABLE 2 output of linear coefficients of linear equation equation r_(k−4) r_(k−3) r_(k−2) r_(k−1) r_(k) r_(k+1) r_(k+2) r_(k+3) r_(k+4) threshold values (c_(j))  g₁ 0 0 0 0 1 1 0 0 0 −4, −2, 0, 2  g₂ 0 0 0 1 1 0 0 0 0 −4, −2, 0, 2  g₃ 0 0 0 −1 1 −1 0 0 0 −1, 1  g₄ 0 0 0 0 1 0 1 0 0 −2, 0, 2  g₅ 0 0 0 0 1 0 −2 0 0 −7, −5, −3, −1, 3  g₆ 0 0 0 0 1 0 0 −1 0 −4, −2, 0, 2  g₇ 0 0 0 0 0 −1 −1 0 0 −4, −2, 0, 2, 4  g₈ 0 0 0 0 2 1 1 2 0 −4, −2, 0, 2  g₉ 0 0 0 1 1 1 0 1 0 −6, −4, −2, 0, 2 g₁₀ 0 0 0 1 4 0 −1 0 4 −21, −11, −1 g₁₁ 0 0 1 0 1 0 0 0 0 −2, 0, 2 g₁₂ 0 0 1 0 1 −1 0 −1 0 0 g₁₃ 0 0 1 1 2 0 −2 −1 −1 −14, −12, −10, −8, 0, 2, 4 g₁₄ 0 0 2 1 4 0 2 2 0 −12, −8 g₁₅ 0 0 −1 −1 0 0 0 0 0 −4, −2, 0, 2, 4 g₁₆ 0 0 −2 0 1 0 0 0 0 −7, −5, −3, −1, 3 g₁₇ 0 0 −2 −1 1 −1 1 2 0 −14, −10, −8, −6, −4, −2, 0, 2, 4, 6, 8, 10 g₁₈ 0 0 −2 −2 0 −4 −1 −2 0 −6, −4, −2, 0, 2, 4, 6, 8, 12 g₁₉ 0 1 0 1 1 1 0 0 0 −6, −4, −2, 0, 2 g₂₀ 0 2 1 1 2 0 0 0 0 −4, −2, 0, 2 g₂₁ 0 2 2 0 4 1 2 0 0 −12, −8 g₂₂ 0 2 1 −1 1 −1 −2 0 0 −14, −10, −8, −6, −4, −2, 0, 2, 4, 6, 8, 10 g₂₃ 0 −1 0 0 1 0 0 0 0 −4, −2, 0, 2 g₂₄ 0 −1 0 −1 1 0 1 0 0 0 g₂₅ 0 −2 −1 −4 0 −2 −2 0 0 −6, −4, −2, 0, 2, 4, 6, 8, 12 g₂₆ −1 −1 −2 0 2 1 1 0 0 −14, −12, −10, −8, 0, 2, 4 g₂₇ 4 0 −1 0 4 1 0 0 0 −21, −11, −1

[0047] The Boolean logic function is given by $\begin{matrix} {{b02}\quad = \quad \left. \left( {{{{{{{{{{{g_{1}\left( {- 2} \right)}\quad\&}\quad {g_{2}\left( {- 2} \right)}}\quad\&}\quad {p1}}\quad\&}\quad {p2}}\quad\&}\quad {p3}}\quad\&}\quad {p4}} \right) \right|} \\ {\quad \left. \left( {{{{{{{{{{{{{{{{{g_{1}\left( {- 2} \right)}\quad\&}\quad {g_{2}\left( {- 4} \right)}}\quad\&}\quad {g_{3}\left( {- 1} \right)}}\quad\&}\quad {p5}}\quad\&}\quad {p6}}\quad\&}\quad {p7}}\quad\&}\quad {p8}}\quad\&}\quad {p9}}\quad\&}\quad {p10}} \right) \right|} \\ {\quad \left( \left. {{{{{{{{{{{{{g_{1}\left( {- 4} \right)}\quad\&}\quad {g_{2}\left( {- 4} \right)}}\quad\&}\quad {g_{3}(1)}}\quad\&}\quad {p11}}\quad\&}\quad {p12}}\quad\&}\quad {p13}}\quad\&}\quad {p14}} \right| \right.} \\ {\quad \left. {g_{2}(2)} \right|} \\ {\quad {\left. \left( {{{{{{{{{g_{2}(0)}\quad\&}\quad {g_{3}\left( {- 1} \right)}}\quad\&}\quad {p15}}\quad\&}\quad {p16}}\quad\&}\quad {p17}} \right) \right|\quad}} \\ {\quad {\left. \left( {{{{{{{{{g_{1}(0)}\quad\&}\quad {g_{2}\left( {- 4} \right)}}\quad\&}\quad {p18}}\quad\&}\quad {p19}}\quad\&}\quad {p20}} \right) \right|\quad}} \\ {\quad {\left. \left( {{{{{{{{{g_{1}(0)}\quad\&}\quad {g_{3}\left( {- 1} \right)}}\quad\&}\quad {p21}}\quad\&}\quad {p22}}\quad\&}\quad {p23}} \right) \right|\quad}} \\ {\quad \left. \left( {{{{{{{{{g_{1}\left( {- 4} \right)}\quad\&}\quad {g_{2}(0)}}\quad\&}\quad {p24}}\quad\&}\quad {p25}}\quad\&}\quad {p26}} \right) \right|} \\ {\quad \left. \left( {{{{{{{{{{{{{{{{{g_{1}\left( {- 4} \right)}\quad\&}\quad {g_{2}\left( {- 2} \right)}}\quad\&}\quad {g_{3}\left( {- 1} \right)}}\quad\&}\quad {p27}}\quad\&}\quad {p28}}\quad\&}\quad {p29}}\quad\&}\quad {p30}}\quad\&}\quad {p31}}\quad\&}\quad {p32}} \right) \right|} \\ {\quad \left. \left( {{{{{g_{1}(0)}\quad\&}\quad {g_{2}\left( {- 2} \right)}}\quad\&}\quad {p33}} \right) \right|} \\ {\quad {\left. \left( {{{{{{{{{g_{1}(0)}\quad\&}\quad {g_{2}\left( {- 4} \right)}}\quad\&}\quad {p34}}\quad\&}\quad {p35}}\quad\&}\quad {p36}} \right) \right|\quad}} \\ {\quad \left. \left( {{{{{{{{{g_{1}\left( {- 4} \right)}\quad\&}\quad {g_{2}(0)}}\quad\&}\quad {p37}}\quad\&}\quad {p38}}\quad\&}\quad {p39}} \right) \right|} \\ {\quad \left. {g_{1}(2)} \right|} \\ {\quad {\left. \left( {{{g_{1}(0)}\quad\&}\quad {g_{2}(0)}} \right) \right|\quad}} \\ {\quad \left. \left( {{{{{g_{1}\left( {- 2} \right)}\quad\&}\quad {g_{2}(0)}}\quad\&}\quad {p40}} \right) \right|} \\ {\quad \left( {{{{{{{{{{{g_{1}\left( {- 2} \right)}\quad\&}\quad {g_{2}\left( {- 2} \right)}}\quad\&}\quad {p41}}\quad\&}\quad {p42}}\quad\&}\quad {p43}}\quad\&}\quad {p44}} \right)} \\ {{and}\quad} \\ {{b24}\quad = \quad \left. \left( {{{{{g_{1}\left( {- 4} \right)}\quad\&}\quad {q1}}\quad\&}\quad {q2}} \right) \right|} \\ {\quad \left. \left( {{{{{g_{1}\left( {- 4} \right)}\quad\&}\quad {g_{3}\left( {- 1} \right)}}\quad\&}\quad {q3}} \right) \right|} \\ {\quad \left. {g_{2}\left( {- 2} \right)} \right|} \\ {\quad \left. \left( {{{{{g_{2}\left( {- 4} \right)}\quad\&}\quad {q4}}\quad\&}\quad {q5}} \right) \right|} \\ {\quad \left. \left( {{{{{g_{2}\left( {- 4} \right)}\quad\&}\quad {g_{3}\left( \quad {- 1} \right)}}\quad\&}\quad {q6}} \right) \right|} \\ {\quad \left. \left( {{{\&\quad {g_{2}\left( {- 4} \right)}}\quad\&}\quad {q7}} \right) \right|} \\ {\quad \left. \left( {{{{{g_{1}\left( {- 4} \right)}\quad\&}\quad {q8}}\quad\&}\quad {q9}} \right) \right|} \\ {\quad \left. {g_{1}\left( {- 2} \right)} \right|} \\ {\quad \left. \left( {{{{{g_{1}\left( {- 4} \right)}\quad\&}\quad {g_{2}\left( {- 4} \right)}}\quad\&}\quad {q10}} \right) \right|} \\ {\quad {\left( {{{{{g_{2}\left( {- 4} \right)}\quad\&}\quad {q11}}\quad\&}\quad {q12}} \right),}} \\ {where} \\ {{p1}\quad = \quad {g_{4}\left( {- 2} \right)}} \\ {{p2}\quad = \quad \left. {g_{15}(0)} \right|} \\ {\quad \left. \left( {{{g_{15}\left( {- 2} \right)}\quad\&}\quad {g_{22}\left( {- 6} \right)}} \right) \right|} \\ {\quad \left. \left( {{{g_{25}\left( {- 2} \right)}\quad\&}\quad {g_{22}\left( {- 10} \right)}} \right) \right|} \\ {\quad \left. \left( {{{{{g_{15}\left( {- 2} \right)}\quad\&}\quad {g_{8}(2)}}\quad\&}\quad {g_{22}\left( {- 10} \right)}} \right) \right|} \\ {\quad \left( {{{{{g_{8}(2)}\quad\&}\quad {g_{25}\left( {- 6} \right)}}\quad\&}\quad {g_{22}\left( {- 14} \right)}} \right)} \\ {{p3}\quad = \quad \left. {g_{11}\left( {- 2} \right)} \right|} \\ {\quad \left. {g_{23}(2)} \right|} \\ {\quad \left. {g_{9}(2)} \right|} \\ {\quad \left. \left( {{{g_{5}\left( {- 5} \right)}\quad\&}\quad {g_{9}(0)}} \right) \right|} \\ {\quad \left. \left( {{{g_{9}(0)}\quad\&}\quad {g_{13}\left( {- 10} \right)}} \right) \right|} \\ {\quad \left. \left( {{{{{g_{5}\left( {- 5} \right)}\quad\&}\quad {g_{9}\left( {- 2} \right)}}\quad\&}\quad {g_{13}\left( {- 8} \right)}} \right) \right|} \\ {\quad \left( {{{{{g_{8}(2)}\quad\&}\quad {g_{10}\left( {- 11} \right)}}\quad\&}\quad {g_{13}\left( {- 12} \right)}} \right)} \\ {{p4}\quad = \quad \left. {g_{16}\left( {- 1} \right)} \right|} \\ {\quad \left. {g_{17}(0)} \right|} \\ {\quad \left( {{{g_{7}\left( {- 2} \right)}\quad\&}\quad {g_{17}\left( {- 6} \right)}} \right)} \\ {{p5}\quad = \quad \left. {g_{16}(3)} \right|} \\ {\quad \left( {{{g_{16}\left( {- 1} \right)}\quad\&}\quad {g_{19}\left( {- 4} \right)}} \right)} \\ {{p6}\quad = \quad {g_{15}(0)}} \\ {{p7}\quad = \quad {g_{4}\left( {- 2} \right)}} \\ {{p8}\quad = \quad \left. {g_{16}(3)} \right|} \\ {\quad {g_{7}\left( {- 2} \right)}} \\ {\quad {\left( {{{g_{7}\left( {- 4} \right)}\quad\&}\quad {g_{17}(6)}} \right)\quad}} \\ {{p9}\quad = \quad \left. {g_{15}(4)} \right|} \\ {\quad \left. {g_{22}\left( {- 2} \right)} \right|} \\ {\quad \left. \left( {{{g_{8}(2)}\quad\&}\quad {g_{22}\left( {- 6} \right)}} \right) \right|} \\ {\quad \left. \left( {{{g_{25}(4)}\quad\&}\quad {g_{22}\left( {- 6} \right)}} \right) \right|} \\ {\quad \left( {{{{{g_{8}(2)}\quad\&}\quad {g_{25}(0)}}\quad\&}\quad {g_{22}\left( {- 10} \right)}} \right)} \\ {{p10}\quad = \quad \left. {g_{16}(3)} \right|} \\ {\quad \left. {g_{17}(6)} \right|} \\ {\quad {\left( {{{g_{7}\left( {- 2} \right)}\quad\&}\quad {g_{17}(0)}} \right)\quad}} \\ {{p11}\quad = \quad \left. {g_{7}(2)} \right|} \\ {\quad {\left. \left( {{{g_{7}(0)}\quad\&}\quad {g_{17}(10)}} \right) \right|\quad}} \\ {\quad {\left. \left( {{{g_{18}(6)}\quad\&}\quad {g_{17}(6)}} \right) \right|\quad}} \\ {\quad \left. \left( {{{{{g_{7}(0)}\quad\&}\quad {g_{20}\left( {- 4} \right)}}\quad\&}\quad {g_{17}(6)}} \right) \right|} \\ {\quad \left( {{{{{g_{20}\left( {- 4} \right)}\quad\&}\quad {g_{18}(2)}}\quad\&}\quad {g_{17}(2)}} \right)} \\ {{p12}\quad = \quad \left. {g_{11}\left( {- 2} \right)} \right|} \\ {\quad \left. {g_{22}(4)} \right|} \\ {\quad {\left. \left( {{{g_{25}(12)}\quad\&}\quad {g_{22}(0)}} \right) \right|\quad}} \\ {\quad \left. \left( {{{g_{21}\left( {- 8} \right)}\quad\&}\quad {g_{22}(0)}} \right) \right|} \\ {\quad \left( {{{{{{{g_{24}(0)}\quad\&}\quad {g_{25}(8)}}\quad\&}\quad {g_{21}\left( {- 12} \right)}}\quad\&}\quad {g_{22}\left( {- 4} \right)}} \right)} \\ {{p13}\quad = \quad \left. {g_{4}(2)} \right|} \\ {\quad \left. {g_{17}(4)} \right|} \\ {\quad {\left. \left( {{{g_{18}(12)}\quad\&}\quad {g_{17}(0)}} \right) \right|\quad}} \\ {\quad \left. \left( {{{g_{14}\left( {- 8} \right)}\quad\&}\quad {g_{17}(0)}} \right) \right|} \\ {\quad \left( {{{{{{{g_{12}(0)}\quad\&}\quad {g_{18}(8)}}\quad\&}\quad {g_{14}\left( {- 12} \right)}}\quad\&}\quad {g_{17}\left( {- 4} \right)}} \right)} \\ {{p14}\quad = \quad \left. {g_{15}(2)} \right|} \\ {\quad {\left. \left( {{{g_{15}(0)}\quad\&}\quad {g_{22}(10)}} \right) \right|\quad}} \\ {\quad {\left. \left( {{{g_{25}(6)}\quad\&}\quad {g_{22}(6)}} \right) \right|\quad}} \\ {\quad \left. \left( {{{{{g_{15}(0)}\quad\&}\quad {g_{8}\left( {- 4} \right)}}\quad\&}\quad {g_{22}(6)}} \right) \right|} \\ {\quad \left( {{{{{g_{8}\left( {- 4} \right)}\quad\&}\quad {g_{25}(2)}}\quad\&}\quad {g_{22}(2)}} \right)} \\ {{p15}\quad = \quad \left. {g_{7}(4)} \right|} \\ {\quad {\left. \left( {{{g_{7}(2)}\quad\&}\quad {g_{17}(8)}} \right) \right|\quad}} \\ {\quad {\left. \left( {{{g_{18}(6)}\quad\&}\quad {g_{17}(4)}} \right) \right|\quad}} \\ {\quad \left. \left( {{{{{g_{7}(2)}\quad\&}\quad {g_{20}(0)}}\quad\&}\quad {g_{17}(4)}} \right) \right|} \\ {\quad \left( \left( {{{{{g_{20}(0)}\quad\&}\quad {g_{18}(2)}}\quad\&}\quad {g_{17}(0)}} \right) \right.} \\ {{p16}\quad = \quad \left. {g_{16}\left( {- 1} \right)} \right|} \\ {\quad \left( {{{g_{16}\left( {- 5} \right)}\quad\&}\quad {g_{19}\left( {- 2} \right)}} \right)} \\ {{p17}\quad = \quad \left. {g_{16}\left( {- 1} \right)} \right|} \\ {\quad \left. {g_{7}(4)} \right|} \\ {\quad {\left( {{{g_{7}(2)}\quad\&}\quad {g_{17}\left( {- 2} \right)}} \right)\quad}} \\ {{p18}\quad = \quad \left. {g_{5}\left( {- 1} \right)} \right|} \\ {\quad \left( {{{g_{5}\left( {- 5} \right)}\quad\&}\quad {g_{9}(0)}} \right)} \\ {{p19}\quad = \quad \left. {g_{15}(0)} \right|} \\ {\quad \left. \left( {{{g_{15}\left( {- 2} \right)}\quad\&}\quad {g_{22}(4)}} \right) \right|} \\ {\quad {\left. \left( {{{g_{25}(0)}\quad\&}\quad {g_{22}(0)}} \right) \right|\quad}} \\ {\quad \left. \left( {{{{{g_{15}\left( {- 2} \right)}\quad\&}\quad {g_{8}(0)}}\quad\&}\quad {g_{22}(0)}} \right) \right|} \\ {\quad \left( {{{{{g_{8}(0)}\quad\&}\quad {g_{25}\left( {- 4} \right)}}\quad\&}\quad {g_{22}\left( {- 4} \right)}} \right)} \\ {{p20}\quad = \quad \left. {g_{23}(0)} \right|} \\ {\quad \left. {g_{9}(0)} \right|} \\ {\quad \left. \left( {{{g_{11}(0)}\quad\&}\quad {g_{23}\left( {- 2} \right)}} \right) \right|} \\ {\quad \left. \left( {{{g_{5}\left( {- 1} \right)}\quad\&}\quad {g_{9}\left( {- 2} \right)}} \right) \right|} \\ {\quad \left. \left( {{{g_{9}\left( {- 4} \right)}\quad\&}\quad {g_{13}(2)}} \right) \right|} \\ {\quad \left( {{{g_{10}\left( {- 1} \right)}\quad\&}\quad {g_{13}(0)}} \right.} \\ {{p21}\quad = \quad \left. {g_{5}\left( {- 1} \right)} \right|} \\ {\quad \left. {g_{15}(4)} \right|} \\ {\quad {\left( {{{g_{15}(2)}\quad\&}\quad {g_{22}\left( {- 2} \right)}} \right)\quad}} \\ {{p22}\quad = \quad \left. {g_{5}\left( {- 1} \right)} \right|} \\ {\quad {\left( {{{g_{5}\left( {- 5} \right)}\quad\&}\quad {g_{9}\left( {- 2} \right)}} \right)\quad}} \\ {{p23}\quad = \quad \left. {g_{15}(4)} \right|} \\ {\quad {\left. \left( {{{g_{15}(2)}\quad\&}\quad {g_{22}(8)}} \right) \right|\quad}} \\ {\quad {\left. \left( {{{g_{25}(6)}\quad\&}\quad {g_{22}(4)}} \right) \right|\quad}} \\ {\quad \left. \left( {{{{{g_{15}(2)}\quad\&}\quad {g_{8}(0)}}\quad\&}\quad {g_{22}(4)}} \right) \right|} \\ {\quad \left( {{{{{g_{8}(0)}\quad\&}\quad {g_{25}(2)}}\quad\&}\quad {g_{22}(0)}} \right)} \\ {{p24}\quad = \quad \left. {g_{11}(2)} \right|} \\ {\quad \left. {g_{6}(0)} \right|} \\ {\quad \left. {g_{5}(3)} \right|} \\ {\quad \left. {g_{13}(4)} \right|} \\ {\quad \left( {{{g_{9}(0)}\quad\&}\quad {g_{13}(0)}} \right)} \\ {{p25}\quad = \quad {g_{7}(0)}} \\ {{p26}\quad = \quad \left. {g_{5}(3)} \right|} \\ {\quad {\left( {{{g_{5}\left( {- 1} \right)}\quad\&}\quad {g_{9}\left( {- 2} \right)}} \right)\quad}} \\ {{p27}\quad = \quad \left. {g_{5}(3)} \right|} \\ {\quad \left. {g_{22}(6)} \right|} \\ {\quad {\left( {{{g_{15}\left( {- 2} \right)}\quad\&}\quad {g_{22}(0)}} \right)\quad}} \\ {{p28} = \quad \left. {g_{11}\left( {- 2} \right)} \right|} \\ {{p29}\quad = \quad \left. {g_{7}(4)} \right|} \\ {\quad \left. {g_{17}\left( {- 2} \right)} \right|} \\ {\quad \left. \left( {{{g_{20}(2)}\quad\&}\quad {g_{17}\left( {- 6} \right)}} \right)\quad \right|} \\ {\quad \left. \left( {{{g_{18}(4)}\quad\&}\quad {g_{17}\left( {- 6} \right)}} \right)\quad \right|} \\ {\quad \left( {{{{{g_{20}(2)}\quad\&}\quad {g_{18}(0)}}\quad\&}\quad {g_{17}\left( {- 10} \right)}} \right)} \\ {{p30}\quad = \quad {g_{7}(0)}} \\ {{p31}\quad = \quad \left. {g_{5}(3)}\quad \right|} \\ {\quad \left. {g_{15}\left( {- 2} \right)}\quad \right|} \\ {\quad {\left( {{{g_{15}\left( {- 4} \right)}\quad\&}\quad {g_{22}(6)}} \right)\quad}} \\ {{p32}\quad = \quad \left. {g_{5}(3)}\quad \right|} \\ {\quad {\left( {{{g_{5}\left( {- 1} \right)}\quad\&}\quad {g_{9}\left( {- 4} \right)}} \right)\quad}} \\ {{p33}\quad = \quad \left. {g_{4}(2)}\quad \right|} \\ {\quad \left. {g_{23}(2)}\quad \right|} \\ {\quad \left. {g_{16}\left( {- 1} \right)}\quad \right|} \\ {\quad \left. {g_{26}(4)}\quad \right|} \\ {\quad \left( {{{g_{19}(0)}\quad\&}\quad {g_{26}(0)}} \right)} \\ {{p34}\quad = \quad \left. {g_{16}(3)}\quad \right|} \\ {\quad \left( {{{g_{16}\left( {- 1} \right)}\quad\&}\quad {g_{19}\left( {- 2} \right)}} \right)} \\ {{p35}\quad = \quad {g_{15}(0)}} \\ {{p36}\quad = \quad \left. {g_{4}(2)}\quad \right|} \\ {\quad \left. {g_{23}(0)}\quad \right|} \\ {\quad \left. {g_{16}(3)}\quad \right|} \\ {\quad \left. {g_{26}(4)}\quad \right|} \\ {\quad \left( {{{g_{19}(0)}\quad\&}\quad {g_{26}(0)}} \right)} \\ {{p37}\quad = \quad \left. {g_{6}(0)}\quad \right|} \\ {\quad \left. {g_{19}(0)}\quad \right|} \\ {\quad \left. \left( {{{g_{4}(0)}\quad\&}\quad {g_{6}\left( {- 2} \right)}} \right)\quad \right|} \\ {\quad \left. \left( {{{g_{16}\left( {- 1} \right)}\quad\&}\quad {g_{19}\left( {- 2} \right)}} \right)\quad \right|} \\ {\quad \left. \left( {{{g_{19}\left( {- 4} \right)}\quad\&}\quad {g_{26}(2)}} \right)\quad \right|} \\ {\quad {\left( {{{g_{27}\left( {- 1} \right)}\quad\&}\quad {g_{26}(0)}} \right)\quad}} \\ {{p38}\quad = \quad \left. {g_{7}(0)}\quad \right|} \\ {\quad \left. \left( {{{g_{7}\left( {- 2} \right)}\quad\&}\quad {g_{17}(4)}} \right)\quad \right|} \\ {\quad {\left. \left( {{{g_{18}(0)}\quad\&}\quad {g_{17}(0)}} \right)\quad \right|\quad}} \\ {\quad \left. \left( {{{{{g_{7}\left( {- 2} \right)}\quad\&}\quad {g_{20}(0)}}\quad\&}\quad {g_{17}(0)}} \right)\quad \right|} \\ {\quad \left( {{{{{g_{20}(0)}\quad\&}\quad {g_{18}\left( {- 4} \right)}}\quad\&}\quad {g_{17}\left( {- 4} \right)}} \right)} \\ {{p39}\quad = \quad \left. {g_{16}\left( {- 1} \right)}\quad \right|} \\ {\quad \left( {{{g_{16}\left( {- 5} \right)}\&}\quad {g_{19}(0)}} \right)\quad} \\ {{p40}\quad = \quad \left. {g_{11}(2)}\quad \right|} \\ {\quad \left. {g_{6}(2)}\quad \right|} \\ {\quad \left. {g_{5}\left( {- 1} \right)}\quad \right|} \\ {\quad \left. {g_{13}(4)}\quad \right|} \\ {\quad \left( {{{g_{9}(0)}\quad\&}\quad {g_{13}(0)}} \right)} \\ {{p41}\quad = \quad \left. {g_{4}\left( {- 2} \right)}\quad \right|} \\ {\quad \left. {g_{6}(2)}\quad \right|} \\ {\quad \left. {g_{19}(2)}\quad \right|} \\ {\quad \left. \left( {{{g_{16}\left( {- 5} \right)}\quad\&}\quad {g_{19}(0)}} \right)\quad \right|} \\ {\quad \left. \left( {{{g_{19}(0)}\quad\&}\quad {g_{26}\left( {- 10} \right)}} \right)\quad \right|} \\ {\quad \left. \left( {{{{{g_{16}\left( {- 5} \right)}\quad\&}\quad {g_{19}\left( {- 2} \right)}}\quad\&}\quad {g_{26}\left( {- 8} \right)}} \right)\quad \right|} \\ {\quad \left( {{{{{g_{20}(2)}\quad\&}\quad {g_{27}\left( {- 11} \right)}}\quad\&}\quad {g_{26}\left( {- 12} \right)}} \right)} \\ {{p42}\quad = \quad \left. {g_{5}\left( {- 1} \right)}\quad \right|} \\ {\quad \left. {g_{22}(0)}\quad \right|} \\ {\quad \left( {{{g_{15}\left( {- 2} \right)}\quad\&}\quad {g_{22}\left( {- 6} \right)}} \right)} \\ {{p43}\quad = \quad {g_{11}\left( {- 2} \right)}} \\ {{p44}\quad = \quad \left. {g_{7}(0)} \right|} \\ {\quad \left. \left( {{{g_{7}\left( {- 2} \right)}\quad\&}\quad {g_{17}\left( {- 6} \right)}} \right)\quad \right|} \\ {\quad \left. \left( {{{g_{18}\left( {- 2} \right)}\quad\&}\quad {g_{17}\left( {- 10} \right)}} \right)\quad \right|} \\ {\quad \left. \left( {{{{{g_{7}\left( {- 2} \right)}\quad\&}\quad {g_{20}(2)}}\quad\&}\quad {g_{17}\left( {- 10} \right)}} \right)\quad \right|} \\ {\quad \left( {{{{{g_{20}(2)}\quad\&}\quad {g_{18}\left( {- 6} \right)}}\quad\&}\quad {g_{17}\left( {- 14} \right)}} \right)} \\ {{q1}\quad = \quad \left. {g_{15}(0)}\quad \right|} \\ {\quad \left. \left( {{{g_{15}\left( {- 2} \right)}\quad\&}\quad {g_{22}(0)}} \right)\quad \right|} \\ {\quad \left. \left( {{{g_{25}(0)}\quad\&}\quad {g_{22}\left( {- 4} \right)}} \right)\quad \right|} \\ {\quad \left. \left( {{{{{g_{15}\left( {- 2} \right)}\quad\&}\quad {g_{8}\left( {- 2} \right)}}\quad\&}\quad {g_{22}\left( {- 4} \right)}} \right)\quad \right|} \\ {\quad \left( {{{{{g_{8}\left( {- 2} \right)}\quad\&}\quad {g_{25}\left( {- 4} \right)}}\quad\&}\quad {g_{22}\left( {- 8} \right)}} \right)} \\ {{q2}\quad = \quad \left. {g_{23}\left( {- 2} \right)}\quad \right|} \\ {\quad \left. {g_{9}\left( {- 2} \right)}\quad \right|} \\ {\quad \left. \left( {{{g_{11}\left( {- 2} \right)}\quad\&}\quad {g_{23}\left( {- 4} \right)}} \right)\quad \right|} \\ {\quad \left. \left( {{{g_{5}\left( {- 7} \right)}\quad\&}\quad {g_{9}\left( {- 4} \right)}} \right)\quad \right|} \\ {\quad \left. \left( {{{g_{9}\left( {- 4} \right)}\quad\&}\quad {g_{13}\left( {- 12} \right)}} \right)\quad \right|} \\ {\quad \left. \left( {{{{{g_{5}\left( {- 7} \right)}\quad\&}\quad {g_{9}\left( {- 6} \right)}}\quad\&}\quad {g_{13}\left( {- 10} \right)}} \right)\quad \right|} \\ {\quad \left( {{{{{g_{9}\left( {- 4} \right)}\quad\&}\quad {g_{10}\left( {- 21} \right)}}\quad\&}\quad {g_{13}\left( {- 14} \right)}} \right)} \\ {{q3}\quad = \quad \left. {g_{15}(4)}\quad \right|} \\ {\quad {\left. \left( {{{g_{15}(2)}\quad\&}\quad {g_{22}(4)}} \right)\quad \right|\quad}} \\ {\quad {\left. \left( {{{g_{25}(6)}\quad\&}\quad {g_{22}(0)}} \right)\quad \right|\quad}} \\ {\quad \left. \left( {{{{{g_{15}(2)}\quad\&}\quad {g_{8}\left( {- 2} \right)}}\quad\&}\quad {g_{22}(0)}} \right)\quad \right|} \\ {\quad \left( {{{{{g_{8}\left( {- 2} \right)}\quad\&}\quad {g_{25}(2)}}\quad\&}\quad {g_{22}\left( {- 4} \right)}} \right)} \\ {{q4}\quad = \quad {g_{16}\left( {- 3} \right)}} \\ {{q5}\quad = \quad {g_{16}\left( {- 3} \right)}} \\ {{q6}\quad = \quad \left. {g_{7}(4)}\quad \right|} \\ {\quad {\left. \left( {{{g_{7}(2)}\quad\&}\quad {g_{17}(4)}} \right)\quad \right|\quad}} \\ {\quad {\left. \left( {{{g_{18}(6)}\quad\&}\quad {g_{17}(0)}} \right)\quad \right|\quad}} \\ {\quad \left. \left( {{{{{g_{7}(2)}\quad\&}\quad {g_{20}\left( {- 2} \right)}}\quad\&}\quad {g_{17}(0)}} \right)\quad \right|} \\ {\quad \left( {{{{{g_{20}\left( {- 2} \right)}\quad\&}\quad {g_{18}(2)}}\quad\&}\quad {g_{17}\left( {- 4} \right)}} \right)} \\ {{q7}\quad = \quad {g_{5}\left( {- 3} \right)}} \\ {{q8}\quad = \quad {g_{5}\left( {- 3} \right)}} \\ {{q9}\quad = \quad {g_{5}\left( {- 3} \right)}} \\ {{q10}\quad = \quad {g_{16}\left( {- 3} \right)}} \\ {{q11}\quad = \quad \left. {g_{6}\left( {- 2} \right)}\quad \right|} \\ {\quad \left. {g_{19}\left( {- 2} \right)}\quad \right|} \\ {\quad \left. \left( {{{g_{4}\left( {- 2} \right)}\quad\&}\quad {g_{6}\left( {- 4} \right)}} \right)\quad \right|} \\ {\quad \left. \left( {{{g_{16}\left( {- 7} \right)}\quad\&}\quad {g_{19}\left( {- 4} \right)}} \right)\quad \right|} \\ {\quad \left. \left( {{{g_{19}\left( {- 4} \right)}\quad\&}\quad {g_{26}\left( {- 12} \right)}} \right)\quad \right|} \\ {\quad \left. \left( {{{{{g_{16}\left( {- 7} \right)}\quad\&}\quad {g_{19}\left( {- 6} \right)}}\quad\&}\quad {g_{26}\left( {- 10} \right)}} \right)\quad \right|} \\ {\quad \left( {{{{{g_{19}\left( {- 4} \right)}\quad\&}\quad {g_{27}\left( {- 21} \right)}}\quad\&}\quad {g_{26}\left( {- 14} \right)}} \right)} \\ {{q12}\quad = \quad \left. {g_{7}(0)}\quad \right|} \\ {\quad \left. \left( {{{g_{7}\left( {- 2} \right)}\quad\&}\quad {g_{17}(0)}} \right)\quad \right|} \\ {\quad \left. \left( {{{g_{18}(0)}\quad\&}\quad {g_{17}\left( {- 4} \right)}} \right)\quad \right|} \\ {\quad \left. \left( {{{{{g_{7}\left( {- 2} \right)}\quad\&}\quad {g_{20}\left( {- 2} \right)}}\quad\&}\quad {g_{17}\left( {- 4} \right)}} \right)\quad \right|} \\ {\quad {{\left( {{{{{g_{20}\left( {- 2} \right)}\quad\&}\quad {g_{18}\left( {- 4} \right)}}\quad\&}\quad {g_{17}\left( {- 8} \right)}} \right).}\quad}} \end{matrix}$

[0048] With r_(k)<0, the procedure is the same as described for SSD3; namely, all 9 observation samples are sign-changed, and the final decision is also sign-changed. For a high-speed application, the same steps as explained in equations (4) and (6) can be applied to remove the sign-change of observation samples at the cost of hardware increase of slicers and Boolean logic.

[0049] Performance Comparison.

[0050] Next, a performance comparison will be discussed. The performance of the signal space detector (SSD) is compared with other known detectors including slicers combined with PR4 and EPR4 equalization as denoted by PR4/slicer and EPR4/slicer, respectively. For all of the detectors illustrated, the input symbol sequence is encoded by the QMTR code. FIG. 5 illustrates the error rates curves for Lorentzian pulse. The channel noise is presumed to be 100% additive white Gaussian noise (AWGN). As can be seen, the SSD3 and SSD4 have significant gain over any channel slicer combination. The user bit recording density used in this comparison was 3.

[0051] The linear operating range of a timing function has been examined for various detectors. The timing function illustrated in FIG. 4 is considered that of a conventional PRML scheme. A second order timing recovery loop is assumed, and the linear operating range is determined by the positive slope region of the mean of the timing function. FIG. 4 shows the mean of the timing function, and the SSD provides wider operating range than slicers.

[0052]FIGS. 8 and 9 illustrate two implementations of the present invention.

[0053] In conclusion, two signal space detectors for timing recovery loop have been illustrated for decision delays of 3 and 4. Detector performance has been compared with other detectors for various aspects such as bit error rate and linear operating range of the timing recovery loop. Thus, the present invention provides advantages as described above. 

1. A data detector for use in a circuit comprising: a data detector wherein the data detector detects data encoded according to a code having time varying constraints.
 2. A data detector for use in a circuit comprising: a preliminary ambiguity zone detector releasing a few probable ideal samples; a signal space detector includes; a filter bank with a finite number of input samples, slicers, and a Boolean logic circuit;
 3. A signal space detector operating on EPR4 channel with comprising: a preliminary ambiguity zone detector; a signal space detector releasing detected ideally equalized samples. 